Software piracy is a major concern of software developers. Huge monetary revenue losses are attributed to the illegal copying and use of marketed software products. Protection for software products can take many forms. One popular form is the use of embedded code within the software product that generally makes it difficult to operate code that has been illegally copied. Although these type of software based code protections are useful to inhibit the unskilled software thief, well trained software hackers are merely slowed down by such protections. Indeed, there are several commercially available tools available on the Internet that can assist software hackers to reverse engineer code so that patches or other work-arounds may be devised to overcome the software based protections. Therefore, the currently available software based code protections are becoming less and less effective in preventing unauthorized use of commercially available software. However, software based code protections do work to some level to protect against piracy and are effective against some would-be software pirates.
Thus, a need exists for a technique for protecting software that leverages off of the software code protection concept, but also answers the problem of the intelligent thief who would reverse engineer the code and inhibit those protections.